package com.xiaoshuidi.cloud.module.rooms.controller.admin.roomequipment.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * @Author Feng
 * @date 2023/4/27
 * 资产新增请求参数
 */
@Data
@Schema(name = "资产新增请求参数")
@EqualsAndHashCode
public class RoomEquipmentBaseVo {
    @Schema(name = "内部资产编码")
    private String code;

    /**
     * 资产名称
     */
    @Schema(name = "资产名称")
    @NotNull(message = "请输入资产名称")
    private String name;
    /**
     * 资产类别ID
     */
    @Schema(name = "资产类别ID")
    @NotNull(message = "类别id非空")
    private Long categoryId;


    @Schema(name = "资产类别名称")
    private String categoryName;

    @Schema(name = "计量单位")
    private String unit;

    @Schema(name = "资产状态")
    private String status;
    /**
     * 位置类型
     */
    @Schema(name = "位置类型")
    private String positionType;

    @Schema(name = "位置类型名称")
    private String positionTypeName;
    /**
     * 所属方
     */
    @Schema(name = "所属方")
    private String own;

    @Schema(name = "所属方名称")
    private String ownName;

    @Schema(name = "公寓ID")
    private Long apartmentId;

    @Schema(description = "小区Name")
    private String area;

    private String buildingNo;
    private String unitNo;

    @Schema(description = "楼层")
    private String floorNo;


    @Schema(description = "集中式1集中式0分散式")
    private Boolean isConcentrated;

    @Schema(name = "关联的房间ID")
    private Long roomId;

    @Schema(name = "关联的房间ID")
    private String roomHouseName;

    @Schema(description = "是否是公区")
    private Boolean isPub;

    @Schema(name = "供应商ID")
    private Long supplierId;

    @Schema(name = "供应商名称")
    private String supplierName;

    @Schema(name = "资产品牌")
    private String brand;
    /**
     * 购买时间
     */
    @Schema(name = "购买时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate purchaseTime;
    /**
     * 保修截止时间
     */
    @Schema(name = "保修时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate warrantyTime;
    /**
     * 使用期限
     */
    @Schema(name = "使用期限")
    private String shelfLife;
    /**
     * 售后电话
     */
    @Schema(name = "售后电话")
    private String afterSalesTel;
    /**
     * 购买价格
     */
    @Schema(name = "购买价格")
    private BigDecimal purchasePrice;
    /**
     * 定价
     */
    @Schema(name = "定价")
    private BigDecimal price;
    /**
     * 负责人ID
     */
    @Schema(name = "负责人ID")
    private Long managerId;
    /**
     * 负责人名称
     */
    @Schema(name = "负责人名称")
    private String manager;
    /**
     * 规格
     */
    @Schema(name = "规格")
    private String specification;
    /**
     * 具体方位
     */
    @Schema(name = "具体方位")
    private String position;


    @Schema(name = "具体方位名称")
    private String positionName;


    @Schema(name = "具体方位名称")
    private String roomPositionName;
    /**
     * 备注
     */
    @Schema(name = "备注")
    private String remark;
    /**
     * 图片列表,最多五张。url用逗号分割
     */
    @Schema(name = "图片列表,最多五张")
    private String pic;

    @Schema(name = "资产编码")
    private String assetCode;
}